package gmusic.mb.dao;

import gmusic.mb.bo.ArtistMBBean;
import gmusic.mb.bo.ReleaseMBBean;
import gmusic.mb.bo.TrackMBBean;

import java.sql.SQLException;
import java.util.List;

public interface MusicBrainzDAO {

	public List<ArtistMBBean> getAllArtists() throws SQLException;

	public ArtistMBBean getArtist(String ambid) throws SQLException;

	public int getNbReleases() throws SQLException;

	public int getNbTracks() throws SQLException;

	public List<String> getPremieresLettreArtistes() throws SQLException;

	public int getNbArtists() throws SQLException;

	public List<ReleaseMBBean> getReleases(String ambid) throws SQLException;

	public List<TrackMBBean> getTracks(String rmbid) throws SQLException;

	public boolean persist(ArtistMBBean ab) throws SQLException;

	public boolean persist(ReleaseMBBean rb) throws SQLException;

	public boolean persist(TrackMBBean tb) throws SQLException;

	public List<ArtistMBBean> rechercherArtistes(String nom)
			throws SQLException;

	public List<ReleaseMBBean> rechercherReleases(String nom)
			throws SQLException;

	public List<TrackMBBean> rechercherTracks(String nom) throws SQLException;

	public void supprimerArtiste(String ambid) throws SQLException;

	public ReleaseMBBean getRelease(String rmbid) throws SQLException;
}
